package com.lastproject.ejb.dao;

import java.util.Date;
import java.util.List;

import javax.ejb.Remote;

import com.lastproject.dto.ConfidentialEmployeeDTO;

@Remote
public interface ConfidentialEmployeeDAORemote {

	void create(ConfidentialEmployeeDTO ceDTO) throws Exception;
	
	void createNoEmailSend(ConfidentialEmployeeDTO ceDTO) throws Exception;

	ConfidentialEmployeeDTO findById(int id);

	List<ConfidentialEmployeeDTO> getAll();

	void edit(ConfidentialEmployeeDTO ceDTO);

	void remove(ConfidentialEmployeeDTO ceDTO);

	List<ConfidentialEmployeeDTO> findByCriteria(String name,
			String position, String employmentType, Date startEmploymentDate,
			Date endEmploymentDate, Date startLastMedCheckDate,
			Date endLastMedCheckDate, boolean enabledAccount, int roleId,
			int departmentId, String germanContactPers, String careerLevel,
			float startSalary, float endSalary);
	
	boolean checkIfDeparmentHasManager(int departmentId);
	
	ConfidentialEmployeeDTO findByWorkemail(String workemail);
	
	boolean existsUsername(String username);

}
